/**
 * 
 */
package com.swe727.spring2011.constraint1.message;

import java.io.Serializable;
import java.util.Date;

/**
 * A Message is the contract for any object that is sent between the zone server
 * and the client or persisted in a data store.
 * 
 * @author Trevor Wright
 * 
 */
public interface Message<T> extends Serializable {

	/**
	 * Get the timestamp of this message.
	 * @return time this message was created
	 */
	public Date getTimestamp();
	
	/**
	 * Get the data associated with this message.
	 * @return message data
	 */
	public T getData();
}
